// 老师讲完练习代码

let str : string | number = '123' //联合类型

// type 相当于是生成了一个变量
type Str = string | number | boolean;
let str1:Str = '123' //有用到类型的，调用Str就可以
let str2:Str = true

interface Name{
    name:string
}

interface Age{
    age:number
}
type Info = Name | Age  //联合类型，可以只写一个属性
let info:Info = {
    name:'小花'
}

type Info1 = Name & Age  //交叉类型  需要把定义的属性全部写出来
let info1:Info1 = {
    name:'小花',
    age:12
}

// interface 和 type 的区别
// interface 可以定义多个相同的名字，并且不会被覆盖
// type不可以定义多个相同的名字，相当于js中的const


